1f49f9
@@ -97,16 +97,25 @@
public class StompSubProtocolHandler implements SubProtocolHandler {
 	public void handleMessageFromClient(WebSocketSession session,
 			WebSocketMessage<?> webSocketMessage, MessageChannel outputChannel) {
 
-		Message<?> message;
+		Message<?> message = null;
+		Throwable decodeFailure = null;
 		try {
 			Assert.isInstanceOf(TextMessage.class,  webSocketMessage);
-			String payload = ((TextMessage)webSocketMessage).getPayload();
+			String payload = ((TextMessage) webSocketMessage).getPayload();
 			ByteBuffer byteBuffer = ByteBuffer.wrap(payload.getBytes(UTF8_CHARSET));
+
 			message = this.stompDecoder.decode(byteBuffer);
+			if (message == null) {
+				decodeFailure = new IllegalStateException("Not a valid STOMP frame: " + payload);
+			}
 		}
 		catch (Throwable ex) {
-			logger.error("Failed to parse STOMP frame, WebSocket message payload", ex);
-			sendErrorMessage(session, ex);
+			decodeFailure = ex;
+		}
+
+		if (decodeFailure != null) {
+			logger.error("Failed to parse WebSocket message as STOMP frame", decodeFailure);
+			sendErrorMessage(session, decodeFailure);
 			return;
 		}
 
